package com.cdtu.room.service;

import java.util.Date;
import java.util.List;
import com.cdtu.room.domain.Calendar;
import com.cdtu.room.dto.CalendarDto;
import com.cdtu.room.vo.CalendarVo;

/**
 * 日历Service接口
 * 
 * @author ruoyi
 * @date 2024-03-29
 */
public interface ICalendarService 
{
    /**
     * 查询日历
     * 
     * @param calendarId 日历主键
     * @return 日历
     */
    public Calendar selectCalendarByCalendarId(Long calendarId);

    /**
     * 查询日历列表
     * 
     * @param calendar 日历
     * @return 日历集合
     */
    public List<Calendar> selectCalendarList(Calendar calendar);

    /**
     * 新增日历
     * 
     * @param calendar 日历
     * @return 结果
     */
    public int insertCalendar(Calendar calendar);

    /**
     * 修改日历
     * 
     * @param calendar 日历
     * @return 结果
     */
    public int updateCalendar(Calendar calendar);

    /**
     * 批量删除日历
     * 
     * @param calendarIds 需要删除的日历主键集合
     * @return 结果
     */
    public int deleteCalendarByCalendarIds(Long[] calendarIds);

    /**
     * 删除日历信息
     * 
     * @param calendarId 日历主键
     * @return 结果
     */
    public int deleteCalendarByCalendarId(Long calendarId);

    /**
     * 查询日历列表
     * @param calendarVo
     * @return
     */
    List<CalendarDto> getCalendarList(CalendarVo calendarVo);

    /**
     * 查询已结束的日历条目并更新状态为2
     * @param now
     * @return
     */
    List<CalendarDto> getEndedEvents(Date now);
}
